package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface GoodsService {


    ServiceVO getCode();

    /**
     * 获取分页列表
     * @param page
     * @param rows
     * @param goodsCodeOrName
     * @param goodsTypeId
     * @return
     */
    Map<String,Object> getGoodsList(Integer page,Integer rows,String goodsCodeOrName,String goodsTypeId);

    //商品总条数
    Integer getGoodsTotal();

    //分页查询商品 列表  点击左边菜单分类  分页获取商品列表
    Map<String,Object> getGoodsPge(Integer page,Integer rows,String goodsName,String goodsTypeId);

    //添加
    int save(Goods goods);

    //修改
    int updateById(Goods goods);

    //商品详情
    Goods getInfoById(String goodsId);

    //删除
    int deleteById(String goodsId);

    //分页获取无库存商品信息
    List<Goods> getInvenPage(Integer page,
                             Integer rows,
                             String nameOrCode);

    //无库存商品总数
    int getInvenTotal();


    //有库存商品分页
    List<Goods> getHashPage(Integer page,
                            Integer rows,
                            String nameOrCode);
    //有库存商品总数
    int getHashTotal();


    //根据商品id  修改数量和库存
    int updateInfo(String goodsId,Integer inventoryQuantity, Double purchasingPrice);

    //删除库存  修改库存数量
    int updateInven(String goodsId);


    List<Goods> getListAlarm();
}
